package com.cntcdt.api.db.model.base;

import java.io.Serializable;
import java.sql.ResultSet;
import java.util.Date;

/**
 * 这是cdt_update_device_version的数据传输对象基类,直接与表对应<br>
 */
public abstract class UpdateDeviceVersionModelBase implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 属性:id<br>
	 */
	private Integer id = 0;
	/**
	 * 属性:terminal<br>
	 */
	private String terminal = "";
	/**
	 * 属性:version<br>
	 */
	private String version = "";
	/**
	 * 属性:addTime<br>
	 */
	private Date addTime = new Date();
	/**
	 * 属性:updateTime<br>
	 */
	private Date updateTime = new Date();
	/**
	 * 属性:0无任务1升级中2升级失败<br>
	 * 含义:0无任务1升级中2升级失败<br>
	 */
	private Integer updateType = 0;
	/**
	 * 属性:statusCode<br>
	 */
	private String statusCode = "";
	/**
	 * 属性：softVersion 软件版本号
	 */
	private String softVersion = "";
	/**
	 * 属性：0硬件升级 1软件升级
	 */
	private Integer packageType = 0;
	
	private String pipeVersion = "";

	/**
	 * 默认构造方法,构造一个默认的UpdateDeviceVersionModelBase对象
	 */
	public UpdateDeviceVersionModelBase() {
	}

	/**
	 * 构造函数
	 * 
	 * @param rs
	 *            数据库查询结果集
	 */
	public UpdateDeviceVersionModelBase(ResultSet rs) {
		try {
			this.id = rs.getInt("id");
			this.terminal = rs.getString("terminal");
			this.version = rs.getString("version");
			this.addTime = rs.getDate("addTime");
			this.updateTime = rs.getDate("updateTime");
			this.updateType = rs.getInt("updateType");
			this.statusCode = rs.getString("statusCode");
			this.softVersion = rs.getString("softVersion");
			this.packageType = rs.getInt("packageType");
			this.pipeVersion = rs.getString("pipeVersion");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	
	
	public String getPipeVersion() {
		return pipeVersion;
	}

	public void setPipeVersion(String pipeVersion) {
		this.pipeVersion = pipeVersion;
	}

	/**
	 * 设置属性id<br>
	 * 
	 * @param id
	 *            待设置的属性id的值
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * 获取属性id<br>
	 * 
	 * @return 属性id的值
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * 设置属性terminal<br>
	 * 
	 * @param terminal
	 *            待设置的属性terminal的值
	 */
	public void setTerminal(String terminal) {
		this.terminal = terminal;
	}

	/**
	 * 获取属性terminal<br>
	 * 
	 * @return 属性terminal的值
	 */
	public String getTerminal() {
		return terminal;
	}

	/**
	 * 设置属性version<br>
	 * 
	 * @param version
	 *            待设置的属性version的值
	 */
	public void setVersion(String version) {
		this.version = version;
	}

	/**
	 * 获取属性version<br>
	 * 
	 * @return 属性version的值
	 */
	public String getVersion() {
		return version;
	}

	/**
	 * 设置属性addTime<br>
	 * 
	 * @param addTime
	 *            待设置的属性addTime的值
	 */
	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}

	/**
	 * 获取属性addTime<br>
	 * 
	 * @return 属性addTime的值
	 */
	public Date getAddTime() {
		return addTime;
	}

	/**
	 * 设置属性updateTime<br>
	 * 
	 * @param updateTime
	 *            待设置的属性updateTime的值
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**
	 * 获取属性updateTime<br>
	 * 
	 * @return 属性updateTime的值
	 */
	public Date getUpdateTime() {
		return updateTime;
	}

	/**
	 * 设置属性0无任务1升级中2升级失败<br>
	 * 含义:0无任务1升级中2升级失败<br>
	 * 
	 * @param updateType
	 *            待设置的属性0无任务1升级中2升级失败的值
	 */
	public void setUpdateType(Integer updateType) {
		this.updateType = updateType;
	}

	/**
	 * 获取属性0无任务1升级中2升级失败<br>
	 * 含义:0无任务1升级中2升级失败<br>
	 * 
	 * @return 属性0无任务1升级中2升级失败的值
	 */
	public Integer getUpdateType() {
		return updateType;
	}

	/**
	 * 设置属性statusCode<br>
	 * 
	 * @param statusCode
	 *            待设置的属性statusCode的值
	 */
	public void setStatusCode(String statusCode) {
		this.statusCode = statusCode;
	}

	/**
	 * 获取属性statusCode<br>
	 * 
	 * @return 属性statusCode的值
	 */
	public String getStatusCode() {
		return statusCode;
	}

	public String getSoftVersion() {
		return softVersion;
	}

	public void setSoftVersion(String softVersion) {
		this.softVersion = softVersion;
	}


	public Integer getPackageType() {
		return packageType;
	}

	public void setPackageType(Integer packageType) {
		this.packageType = packageType;
	}

	/**
	 * 比较两个对象在逻辑上是否相等
	 * 
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	public boolean equals(Object other) {
		if (this == other) {
			return true;
		}
		if (!(other instanceof UpdateDeviceVersionModelBase)) {
			return false;
		}

		final UpdateDeviceVersionModelBase otherModel = (UpdateDeviceVersionModelBase) other;
		if (getId() != null && !getId().equals(otherModel.getId())) {
			return false;
		}
		return true;
	}

	/**
	 * 根据主键生成HashCode
	 * 
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		StringBuffer buffer = new StringBuffer();
		buffer.append('|').append(id);
		return buffer.toString().hashCode();
	}
}
